home *** CD-ROM | disk | FTP | other *** search
- /*
- File: SampleSBP2Priv.h
-
- Contains: Private declarations for sample SBP-2 family
-
- Version: 1.0
-
- Copyright: © 1998 by Apple Computer, Inc., all rights reserved.
-
- File Ownership:
-
- DRI: Eric Anderson
-
- Other Contact:
-
- Technology: FireWire
-
- Writers:
-
- (EA) Eric Anderson (ewa)
-
- Change History (most recent first):
-
- <FW2> 9/20/98 EA Filled in header comments.
- <FW1> 9/20/98 EA first checked in
- */
-
-
- #ifndef __SampleSBP2PRIV__
- #define __SampleSBP2PRIV__
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
- #ifndef __APPLEEVENTS__
- #include <AppleEvents.h>
- #endif
- #ifndef __NAMEREGISTRY__
- #include <NameRegistry.h>
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import on
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
- typedef struct SBPClientDataStruct
- SBPClientData,
- *SBPClientDataPtr;
-
- typedef struct SBPDriverDataStruct
- SBPDriverData,
- *SBPDriverDataPtr;
-
- struct SBPFamilyDataStruct
- {
- SBPClientDataPtr pSBPClientList; // Pointer to list of registered clients.
- SBPDriverDataPtr pSBPDriverList; // Pointer to list of installed drivers.
- UInt32 numSBPDrivers; // Number of drivers in above list.
- };
- typedef struct SBPFamilyDataStruct
- SBPFamilyData,
- *SBPFamilyDataPtr;
-
- typedef struct ClientAppleEventDataStruct
- ClientAppleEventData,
- *ClientAppleEventDataPtr;
- struct ClientAppleEventDataStruct
- {
- ClientAppleEventDataPtr pNextClientAppleEventData; // Link to next client Apple Event.
- AppleEvent clientAppleEvent; // The apple event to send.
- Boolean clientAppleEventValid; // True if above is valid.
-
- AppleEvent *reply; // Apple Event reply.
- AESendMode sendMode; // Send mode of Apple Event.
- AESendPriority sendPriority; // Priority of Apple Event.//zzz how to best implement this wrt SWInts???
- long timeOutInTicks; // Timeout of Apple Event.//zzz how to best implement this wrt SWInts???
- AEIdleUPP idleProc; // Idle proc for Apple Event.
- AEFilterUPP filterProc; // Filter proc for Apple Event.
- };
-
- struct SBPClientDataStruct
- {
- SBPClientDataPtr pPrevSBPClientData,
- pNextSBPClientData; // Pointer to previous and next client in list.
-
- QHdrPtr clientAppleEventQueue; // Queue of Apple Events to send to client.
-
- AppleEvent deviceAddedAppleEvent; // Apple event for device added notification.
- Boolean deviceAddedAppleEventValid; // True if above event is valid.
-
- AppleEvent deviceRemovedAppleEvent; // Apple event for device removed notification.
- Boolean deviceRemovedAppleEventValid; // True if above event is valid.
-
- AEAddressDesc clientAEAddress; // Address of client.
- Boolean clientAEAddressValid; // True if above descriptor is valid.
-
- UInt32 clientContextData; // Data for use by client.
- };
-
- struct SBPDriverDataStruct
- {
- SBPDriverDataPtr pNextSBPDriverData; // Pointer to next driver in driver list.
- SBPDriverID sbpDriverID; // ID referencing this data record.
- DriverRefNum driverRefNum; // Device Manager driver ref num.
- Boolean driverOpened; // True if we've opened the driver.
- SBPInterfaceProcPtr pSBPDriverInterface; // Pointer to main interface proc
- // in driver.
- Ptr pDriverSpecificData; // Data specific to driver.
- RegEntryID deviceRegistryID; // Name registry ID of AV transport control device
- CFragConnectionID driverConnID; // Code fragment connection ID for this driver.
- UInt32 numConnections; // Number of connections to this driver.
- Boolean deviceDisconnected; // True if device was disconnected.
- };
-
-
- ////////////////////////////////////////////////////////////////////////////////
- //
- // Sample SBP family private procedures.
- //
-
- OSStatus InstallSBPExpert (void);
-
- OSStatus UninstallSBPExpert (void);
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import off
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __SampleSBP2PRIV__ */
-